Uitwisselprofiel NZa basisinformatie kostenonderzoek
1.1. Ziekteverzuimpercentage (excl. zwangerschapsverlof)
Concepten
Relaties
- deel van
- gaat over
- heeft eigenschap of kenmerk
- heeft eigenschapswaarde
- heeft meeteenheid
- heeft noemer kwaliteitswaarde
- heeft opdrachtnemer
- heeft teller kwaliteitswaarde
- is participant in
Eigenschappen
Instanties
SPARQL query
Code gekopieerd
...Kopieer naar klembord
1# Indicator: NZA 1.1 2# Parameters: - 3# Ontologie: versie 2.3.0 of nieuwer 4 5PREFIX onz-pers: <http://purl.org/ozo/onz-pers#> 6PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 7PREFIX onz-g: <http://purl.org/ozo/onz-g#> 8PREFIX time: <http://www.w3.org/2006/time#> 9 10SELECT 11 (SUM(?ziek_totaal - ?hersteld_totaal) AS ?teller) 12 (SUM(?noemer_deel) AS ?noemer) 13 ((?teller / ?noemer) * 100 AS ?indicator) 14{ 15 SELECT 16 ?overeenkomst 17 ?omvang 18 (MAX(?overeenkomst_totaal) AS ?noemer_deel) 19 (SUM(?ziek_totaal_temp) AS ?ziek_totaal) 20 (MAX(?hersteld_totaal_temp) AS ?hersteld_totaal) 21 { 22 SELECT 23 ?overeenkomst 24 ?omvang 25 ?verzuimperiode 26 (MAX(?dagen_overeenkomst) AS ?overeenkomst_totaal) 27 (MAX(?dagen_ziek_reken) AS ?ziek_totaal_temp) 28 (SUM(?dagen_hersteld_reken) AS ?hersteld_totaal_temp) 29 { 30 BIND("2022-01-01"^^xsd:date AS ?start_periode) 31 BIND("2022-12-31"^^xsd:date AS ?eind_periode) 32 VALUES ?type_verzuim # Keuze in-/exclusief zwangerschapsverlog 33 { 34 onz-pers:ZiektePeriode 35 # onz-pers:ZwangerschapsVerlof 36 } 37 ?overeenkomst 38 a onz-pers:ArbeidsOvereenkomst ; 39 onz-pers:heeftOpdrachtnemer ?persoon ; 40 onz-g:startDatum ?start_overeenkomst . 41 OPTIONAL {?overeenkomst onz-g:eindDatum ?eind_overeenkomst} 42 FILTER (?start_overeenkomst <= ?eind_periode && (?eind_overeenkomst >= ?start_periode || !BOUND(?eind_overeenkomst))) 43 BIND(IF(?start_overeenkomst < ?start_periode, ?start_periode, ?start_overeenkomst) AS ?start_overeenkomst_corr) 44 BIND(IF(?eind_overeenkomst > ?eind_periode || !BOUND(?eind_overeenkomst), ?eind_periode, ?eind_overeenkomst) AS ?eind_overeenkomst_corr) 45 ?omvang 46 a onz-pers:ContractOmvang ; 47 onz-g:partOf ?overeenkomst ; 48 onz-g:isAbout ?omvang_waarde ; 49 onz-g:startDatum ?start_omvang . 50 OPTIONAL {?omvang onz-g:eindDatum ?eind_omvang} 51 FILTER (?start_omvang <= ?eind_overeenkomst_corr && (?eind_omvang >= ?start_overeenkomst_corr || !BOUND(?eind_omvang))) 52 ?omvang_waarde 53 onz-g:hasDataValue ?omvang_waarde_getal ; 54 onz-g:hasUnitOfMeasure ?omvang_waarde_eenheid . 55 ?omvang_waarde_eenheid 56 onz-pers:hasDenominatorQualityValue onz-g:Week ; 57 onz-pers:hasNumeratorQualityValue onz-g:Uur ; 58 onz-g:hasDataValue ?omvang_waarde_factor . 59 BIND (?omvang_waarde_getal * ?omvang_waarde_factor / 36 AS ?ptf) 60 BIND (IF(?start_omvang < ?start_overeenkomst_corr, ?start_overeenkomst_corr, ?start_omvang) AS ?start_omvang_corr) 61 BIND (IF(?eind_omvang > ?eind_overeenkomst_corr || !BOUND(?eind_omvang), ?eind_overeenkomst_corr, ?eind_omvang) AS ?eind_omvang_corr) 62 ?start_omvang_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_omvang_reken . 63 ?eind_omvang_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_omvang_reken . 64 BIND ((?eind_omvang_reken - ?start_omvang_reken + 1) * ?ptf AS ?dagen_overeenkomst) 65 OPTIONAL { 66 ?persoon 67 onz-g:isParticipantIn ?verzuimperiode . 68 ?verzuimperiode a ?type_verzuim ; 69 onz-g:startDatum ?start_verzuim . 70 OPTIONAL {?verzuimperiode onz-g:eindDatum ?eind_verzuim} 71 OPTIONAL { 72 ?verzuimperiode 73 onz-g:hasQuality ?verzuimtijd . 74 ?verzuimtijd 75 a onz-pers:VerzuimTijdKwaliteit ; 76 onz-g:hasQualityValue ?verzuimtijdwaarde . 77 ?verzuimtijdwaarde 78 a onz-g:DurationValue ; 79 onz-g:hasDataValue ?ziektepercentage ; 80 onz-g:hasUnitOfMeasure onz-g:percent ; 81 onz-g:startDatum ?start_ziektepercentage . 82 OPTIONAL {?verzuimtijdwaarde onz-g:eindDatum ?eind_ziektepercentage} 83 } 84 } 85 BIND (IF((?start_verzuim <= ?eind_omvang_corr && (?eind_verzuim >= ?start_omvang_corr || !BOUND(?eind_verzuim))), 1, 0) AS ?geen_ziekte_factor) 86 BIND(IF(!BOUND(?verzuimperiode), 0, ?geen_ziekte_factor) AS ?ziekte_factor) 87 BIND (IF(?start_verzuim < ?start_omvang_corr && ?ziekte_factor = 1, ?start_omvang_corr, ?start_verzuim) AS ?start_verzuim_corr) 88 BIND (IF(BOUND(?verzuimperiode) && (?eind_verzuim > ?eind_omvang_corr || !BOUND(?eind_verzuim)) && ?ziekte_factor = 1, ?eind_omvang_corr, ?eind_verzuim) AS ?eind_verzuim_corr) 89 BIND (IF((?start_ziektepercentage > ?eind_verzuim_corr || ?eind_ziektepercentage < ?start_verzuim_corr), 0, 1) AS ?geen_percentage_factor) 90 BIND(IF(!BOUND(?geen_percentage_factor), 0, ?geen_percentage_factor * ?ziekte_factor) AS ?percentage_factor) 91 BIND (IF(?start_ziektepercentage < ?start_verzuim_corr, ?start_verzuim_corr, ?start_ziektepercentage) AS ?start_ziektepercentage_corr) 92 BIND (IF(?eind_ziektepercentage > ?eind_verzuim_corr || !BOUND(?eind_ziektepercentage), ?eind_verzuim_corr, ?eind_ziektepercentage) AS ?eind_ziektepercentage_corr) 93 94 # Maak dummy verzuim en ziektepercentage datums als deze ontbreken, anders werkt de lookup naar de time:numerPosition niet 95 BIND (IF(BOUND(?start_verzuim_corr), ?start_verzuim_corr, "2023-01-01"^^xsd:date) AS ?start_verzuim_corr_bound) 96 BIND (IF(BOUND(?eind_verzuim_corr), ?eind_verzuim_corr, "2022-12-31"^^xsd:date) AS ?eind_verzuim_corr_bound) 97 BIND (IF(BOUND(?start_ziektepercentage_corr), ?start_ziektepercentage_corr, "2023-01-01"^^xsd:date) AS ?start_zp_bound) 98 BIND (IF(BOUND(?eind_ziektepercentage_corr), ?eind_ziektepercentage_corr, "2022-12-31"^^xsd:date) AS ?eind_zp_bound) 99 ?start_verzuim_corr_bound ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_verzuim_reken . 100 ?eind_verzuim_corr_bound ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_verzuim_reken . 101 ?start_zp_bound ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_zp_reken . 102 ?eind_zp_bound ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_zp_reken . 103 104 BIND ((?eind_zp_reken - ?start_zp_reken + 1) * ?ptf * ?percentage_factor * (100 - ?ziektepercentage)/100 AS ?dagen_hersteld) 105 BIND ((?eind_verzuim_reken - ?start_verzuim_reken + 1) * ?ptf * ?ziekte_factor AS ?dagen_ziek) 106 BIND (IF(!BOUND(?dagen_ziek), 0, ?dagen_ziek) AS ?dagen_ziek_reken) 107 BIND (IF(!BOUND(?dagen_hersteld), 0, ?dagen_hersteld) AS ?dagen_hersteld_reken) 108 } 109 GROUP BY ?overeenkomst ?omvang ?verzuimperiode 110 } 111 GROUP BY ?overeenkomst ?omvang 112} 113
Heb je feedback?
Loopt u tegen een issue aan bij het KIK-V product? Neem dan contact met ons op!